package com.winchain.chainbill.acct.controller;

import com.shell.bee.base.annotation.Logging;
import com.shell.bee.entity.mvc.RetMsg;
import com.shell.bee.persistence.model.PageLimit;
import com.winchain.chainbill.acct.po.CoopBank;
import com.winchain.chainbill.acct.service.CoopBankService;
import com.winchain.chainbill.acct.vo.CoopBankVo;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class CoopBankController {
	@Autowired
	private CoopBankService coopBankService;

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "������������")
	public List<CoopBankVo> selectCoopBankList(PageLimit limit, CoopBankVo coopBankVo) {
		List<CoopBankVo> coopBankVoList = this.coopBankService.selectCoopBankList(limit, coopBankVo);
		return coopBankVoList;
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "����������")
	public boolean checkAcctNo(String bankCode, String acctNo) {
		return this.coopBankService.checkAcctNo(bankCode, acctNo);
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "��������������")
	public boolean checkDepPri(String bankCode, int depPri) {
		return this.coopBankService.checkDepPri(bankCode, depPri);
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "��������������")
	public boolean checkWdrlPri(String bankCode, int wdrlPri) {
		return this.coopBankService.checkWdrlPri(bankCode, wdrlPri);
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "������������")
	public RetMsg save(CoopBankVo coopBankVo) {
		try {
			this.coopBankService.saveCoopBank(coopBankVo);
		} catch (Exception e) {
			new RetMsg("error", true, "������������������" + e.getMessage());
		}
		return new RetMsg("success", true, "����������������");
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "����������������")
	public RetMsg changeState(String bankCode, String state) {
		try {
			this.coopBankService.changeState(bankCode, state);
		} catch (Exception e) {
			new RetMsg("error", true, "����������������������" + e.getMessage());
		}
		return new RetMsg("success", true, "��������������������");
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "������������")
	public List<CoopBank> queryNormalCoopBanks() {
		CoopBank bank = new CoopBank();
		bank.setState("1");
		return this.coopBankService.selectByEntity(bank);
	}
}
